2.2 Menu programme

Objet 'Menu'

Cet objet est défini par une liste dont chaque élément comporte

  • un libellé :str ou un objet qui peut se présenter en str
  • une fonction exécutée quand cette ligne est sélectionnée
    La liste est parcourue par pagination (trim de manche) et un élément est sélectionné par le bouton sel
    La pagination est simple (ligne par ligne) ou double (par page puis par ligne)
    L'objet comporte un 'état' =
  • ligne sélectionnée (affichée en évidence)
  • la référence de l'objet qui a appelé (la fonction back revient vers cet objet )
    Un menu complet comporte donc un arbre d'objets 'menu' dont un seul objet 'menu' est accessible et reçoit la 'commande menu'.

plan pour réalisation

  • réalisation progressive top->down
    • messages initiés par C destination UI
      • commande menu = mode sol
      • dictées = mode vol
    • ajoute d'un node, gestion d'un arbre de nodes de debug (sans communication de données )
    • circulation dans l'arbre
  • Implémentation des données internes d'un node sous forme de liste (par ligne et par page)
    • chaque élément de la liste = paire
      • str ou objet représentable en str
      • traitement
        • fonction (et retirer l'ojet de la pile)
        • définition de la liste pour le nouveau sous-menu
  • échanges de données dans un format qui sera compatible pour les dialogues lcd et wifi
    • question posée par UI (avec les arguments 'ligne fonction')
    • réponse = json
    • Remarque : la réponse est disponible soit pour lcd, soit pour wifi